home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 #2 / Ham Radio 2000 - Volume 2.iso / HAMV2 / MISC / HCAL-27 / HARMONIC.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1997-01-28  |  2.8 KB  |  119 lines

  1. 10  'HARMONIC - Harmonic Frequencies - 25 JUL 95 rev. 27 SEP 96
  2. 20  IF EX$=""THEN EX$="EXIT"
  3. 30  COMMON EX$
  4. 40  CLS:KEY OFF
  5. 50  COLOR 7,0,1
  6. 60  UL$=STRING$(80,205)
  7. 70  U$="######.###"
  8. 80  DIM F$(20,3)
  9. 90  DATA  160m.,1.800,2.000,   80m.,3.500,4.000,    40m.,7.000,7.300
  10. 100  DATA  30m.,10.100,10.150,  20m.,14.000,14.350,  17m.,18.086,18.168
  11. 110  DATA  15m.,21.000,21.450,  12m.,24.890,24.990,  10m.,28.000,29.700
  12. 120  DATA  6m.,50.000,54.000,   2m.,144.000,148.000, 1.25m.,220.000,225.000
  13. 130  DATA  70cm.,420.000,450.000, 33cm.,902.000,928.000, 23cm.,1240,1300
  14. 140   FOR Z=1 TO 15:FOR Y=1 TO 3
  15. 150   READ F$(Z,Y)
  16. 160   NEXT Y:NEXT Z
  17. 170  '
  18. 180  COLOR 15,2
  19. 190  PRINT " HARMONIC FREQUENCIES";TAB(57);"by George Murphy VE3ERP ";
  20. 200  COLOR 1,0:PRINT STRING$(80,223);
  21. 210  COLOR 7,0
  22. 220  '
  23. 230  '.....start
  24. 240  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  25. 250  '.....menu
  26. 260  PRINT " Press number in < > to:"
  27. 270  PRINT UL$;
  28. 280  PRINT "   < 1 >  Find HARMONIC FREQUENCIES"
  29. 290  PRINT "   < 2 >  Find FUNDAMENTAL FREQUENCY"
  30. 300  PRINT "   < 3 >  Find T.V. CHANNEL FREQUENCIES"
  31. 310  PRINT UL$;
  32. 320  PRINT "   < 0 >  EXIT"
  33. 330  Z$=INKEY$:IF Z$=""THEN 330
  34. 340  IF Z$="0"THEN CLS:RUN EX$
  35. 350  IF Z$="1"THEN 400
  36. 360  IF Z$="2"THEN 760
  37. 370  IF Z$="3"THEN CLS:CHAIN"tvchan"
  38. 380  GOTO 330
  39. 390  '
  40. 400  '.....harmonics
  41. 410  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  42. 420  INPUT " ENTER: Fundamental frequency (MHz) ";FF
  43. 430  '
  44. 440  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  45. 450  PRINT TAB(25);"FREQUENCY";TAB(36);"WAVELENGTH";TAB(50);"HAM BAND ?"
  46. 460  PRINT UL$;
  47. 470  FOR Z=1 TO 20
  48. 480  IF Z=1 THEN B$=" FUNDAMENTAL FQCY.:":FQ=FF:GOTO 560
  49. 490  A$=STR$(Z):IF LEN(A$)<3 THEN A$=" "+A$
  50. 500  B$=A$
  51. 510  IF Z=2 THEN B$=B$+"nd"
  52. 520  IF Z=3 THEN B$=B$+"rd"
  53. 530  IF Z>=4 THEN B$=B$+"th"
  54. 540  B$=B$+" harmonic....."
  55. 550  FQ=FF*Z
  56. 560  PRINT B$;USING U$;FQ;
  57. 570  PRINT " MHz";USING U$;300/FQ;
  58. 580  PRINT "m.";
  59. 590  C$=F$(Z,1)
  60. 600  D$=""
  61. 610    FOR Y=1 TO 15
  62. 620     V1=VAL(F$(Y,2))
  63. 630     V2=VAL(F$(Y,3))
  64. 640     IF FQ<V1 OR FQ>V2 THEN 680
  65. 650     C$=F$(Y,1)
  66. 660     D$="("+F$(Y,2)+" - "+F$(Y,3)+" MHz)"
  67. 670     GOTO 700
  68. 680    NEXT Y
  69. 690  C$=" - no -"
  70. 700  PRINT TAB(50);C$;
  71. 710  IF D$<>"" THEN PRINT TAB(56);D$;
  72. 720  IF Z<20 THEN PRINT ""
  73. 730  NEXT Z
  74. 740  GOSUB 1060:GOTO 230
  75. 750  '
  76. 760  '.....fundamental frequency
  77. 770  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  78. 780  INPUT "ENTER: Frequency (MHz) of harmonic";FH
  79. 790  FQ=FH
  80. 800  VIEW PRINT 3 TO 24:CLS:VIEW PRINT:LOCATE 3
  81. 810  PRINT " Harmonic frequency:";USING U$;FH;:PRINT " MHz is the:"
  82. 820  '
  83. 830  K$=" MHz"
  84. 840  H=1
  85. 850  '
  86. 860  H=H+1:FQ=FQ/2
  87. 870  IF H>22 THEN 1060
  88. 880  H$=STR$(H)
  89. 890  IF LEN(H$)<3 THEN H$=" "+H$
  90. 900  H$=RIGHT$(H$,2)
  91. 910  N$="th"
  92. 920  IF H=2 THEN N$="nd"
  93. 930  IF H=3 THEN N$="rd"
  94. 940  IF FQ<1 AND K$=" MHz"THEN FQ=FQ*10^3:K$=" kHz"
  95. 950  LOCATE H+1,42:PRINT H$+N$+" harmonic of";USING U$;FQ;:PRINT K$
  96. 960  IF FQ<20 AND K$=" kHz"THEN 980
  97. 970  GOTO 860
  98. 980  LOCATE CSRLIN-1,72:COLOR 0,7:PRINT " * "
  99. 990  PRINT
  100. 1000  LOCATE CSRLIN,2
  101. 1010  PRINT " * ";:COLOR 7,0:PRINT " Audio frequency. ";
  102. 1020  PRINT "Radio Frequencies start at about 20 kHz."
  103. 1030  GOSUB 1060:GOTO 230
  104. 1040  END
  105. 1050  '
  106. 1060  'HARDCOPY
  107. 1070  GOSUB 1180:LOCATE 25,2:COLOR 14,6
  108. 1080  PRINT " Press 1 to print screen, 2 to print screen & ";
  109. 1090  PRINT "advance paper, or 3 to continue.";:COLOR 7,0
  110. 1100  Z$=INKEY$:IF Z$="3"THEN GOSUB 1180:RETURN
  111. 1110  IF Z$="1"OR Z$="2"THEN GOSUB 1180:GOTO 1130
  112. 1120  GOTO 1100
  113. 1130  FOR QX=1 TO 24:FOR QY=1 TO 80
  114. 1140  LPRINT CHR$(SCREEN(QX,QY));
  115. 1150  NEXT QY:NEXT QX
  116. 1160  IF Z$="2"THEN LPRINT CHR$(12)
  117. 1170  GOTO 1070
  118. 1180  LOCATE 25,1:PRINT STRING$(80,32);:RETURN
  119.